package net.zisen.cloud.order.service;

import net.zisen.cloud.base.msg.ResultMsg;
import net.zisen.cloud.order.model.Order;

/**
 * @author tim/278002989@qq.com
 * @Classname OrderService
 * @Description TODO
 * @Date 2019-05-17 16:08
 */
public interface OrderService {


    /**
     * 添加订单
     *
     * @param uid
     * @param goodsId
     * @param quality
     * @return
     * @throws Exception
     * @See {@link Exception}
     * @See {@link ResultMsg}
     * @See {@link Order}
     */
    ResultMsg<Order> addOrder(Long uid, Long goodsId, Integer quality) throws Exception;

    /**
     * 支付订单
     *
     * @param orderNum
     * @return
     * @throws Exception
     */
    ResultMsg payOrder(String orderNum) throws Exception;


    /**
     * 创建并支付订单
     *
     * @param uid
     * @param goodsId
     * @param quality
     * @return {@link ResultMsg}
     * @throws Exception
     */
    ResultMsg addAddPayOrder(Long uid, Long goodsId, Integer quality) throws Exception;

}
